Next | Prev | Up | Top | Contents | Index

C Implementation Differences

This section lists differences between the 32-bit and the 64-bit C implementations. Because both compilers adhere to the ANSI standard, and because C is a rigorously defined language designed to be portable, there are not many differences between the 32-bit and 64-bit compiler implementations. The only areas where differences can occur are in data types (by definition) and in areas where ANSI does not define the precise behavior of the language.

Table 2-3 summarizes the differences in data types under the 32-bit and 64-bit data type models.

Differences in Data Type Sizes
C type32-bit64-bit
char 8 8
short int1616
int3232
long int3264
long long int6464
pointer3264
float3232
double6464
long double[1]64128

Table 2-3 shows that long ints, pointers and long doubles are different under the two models.


[1] On 32-bit compiles the long double data type generates a warning message indicating that the long qualifier is not supported.
Structure and Union Layout Examples
Portability Issues

Next | Prev | Up | Top | Contents | Index